r = 1 gotcrowbar = 1 monster = 1 SCREEN 12 COLOR 7, 0 CLS DIM SHARED DOOM AS DOUBLE Minutes = 10 Seconds = 0 GameTime = Minutes * 60 + Seconds DIM directions(1 TO 9) AS STRING directions(1) = "SOUTH" directions(2) = "NORTH, SOUTH, OR EAST" directions(3) = "WEST" directions(4) = "NORTH OR WEST" directions(5) = "EAST OR SOUTH" directions(6) = "NORTH OR EAST" directions(7) = "WEST OR EAST" directions(8) = "NORTH OR WEST" directions(9) = "SOUTH" PRINT "" PRINT "" PRINT "A world crafted by man, that was given to them by a God, and in turn soon" PRINT "face the horrors of another being, a being of pure evil, upon this night" PRINT "you must venture forth into the ruined streets of the small farming town" PRINT "and take back what was once a normal life." PRINT "" DO: LOOP UNTIL INKEY$ <> "" DOOM = TIMER(0.001) + GameTime 'change this to to desied time for the game to run DO CLS PRINT PRINT PRINT " " PRINT " " PRINT " " PRINT " A Town with No Name " PRINT " " PRINT " Written by " PRINT " " PRINT " D.B. Taylor" PRINT "" PRINT " Copyright (c) 2015" PRINT "" PRINT SPACE$(38); IF INSTR(directions(r), "NORTH") THEN PRINT "N" ELSE PRINT PRINT "*---------------------------------* "; IF INSTR(directions(r), "WEST") THEN PRINT "W"; ELSE PRINT " "; PRINT " + "; IF INSTR(directions(r), "EAST") THEN PRINT "E"; ELSE PRINT " "; PRINT " *------------------------------------*" PRINT SPACE$(38); IF INSTR(directions(r), "SOUTH") THEN PRINT "S" ELSE PRINT PRINT PRINT "If you are stuck just type HELP." PRINT GOSUB ROOM GOSUB parser LOOP ROOM: IF r = 1 THEN: GOSUB r1 IF r = 2 THEN: GOSUB r2 IF r = 3 THEN: GOSUB r3 IF r = 4 THEN: GOSUB r4 IF r = 5 THEN: GOSUB r5 IF r = 6 THEN: GOSUB r6 IF r = 7 THEN: GOSUB r7 IF r = 8 THEN: GOSUB r8 IF r = 9 THEN: GOSUB r9 RETURN parser: PRINT "> "; cmd$ = GrabInput cmd$ = LTRIM$(RTRIM$(UCASE$(cmd$))) IF cmd$ = "END" OR cmd$ = "QUIT" OR cmd$ = "EXIT" OR cmd$ = "Q" THEN END END IF IF cmd$ = "HELP" OR cmd$ = "H" OR cmd$ = "?" THEN CLS PRINT "HERE ARE SOME BASIC COMMANDS THAT CAN BE USED IN THE GAME..." PRINT PRINT "NORTH, EAST ,SOUTH, AND WEST - MOVE TO AN AVAILABLE LOCATION" PRINT "EXAMINE (OBJECT) - EXAMINE AN OBJECT" PRINT "USE (OBJECT) - USE AN OBJECT" PRINT "TAKE (OBJECT) - TAKE OR MOVE AN OBJECT" PRINT "INVENTORY - VIEW YOUR INVENTORY" PRINT "DRINK - DRINK BEER" PRINT "UNLOCK - UNLOCK DOOR" PRINT "HELP - VIEW THIS SCREEN" PRINT "END - END GAME" PRINT PRINT "PRESS ANY KEY...": SLEEP DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF IF cmd$ = "INVENTORY" OR cmd$ = "INV" OR cmd$ = "ITEMS" OR cmd$ = "I" THEN CLS PRINT "INVENTORY..." PRINT IF gotcrowbar = 1 THEN: PRINT "A rusted old crowbar." PRINT PRINT "PRESS ANY KEY..." DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF IF cmd$ = "GO NORTH" OR cmd$ = "NORTH" OR cmd$ = "N" THEN IF r = 8 THEN: r = 9: GOTO moved IF r = 6 THEN: r = 5: GOTO moved IF r = 4 THEN: r = 2: GOTO moved IF r = 2 THEN: r = 1: GOTO moved END IF IF cmd$ = "GO EAST" OR cmd$ = "EAST" OR cmd$ = "E" THEN IF r = 2 THEN: r = 3: GOTO moved IF r = 5 THEN: r = 4: GOTO moved IF r = 6 THEN: r = 7: GOTO moved IF r = 7 THEN: r = 8: GOTO moved END IF IF cmd$ = "GO SOUTH" OR cmd$ = "SOUTH" OR cmd$ = "S" THEN IF r = 1 THEN: r = 2: GOTO moved IF r = 2 THEN: r = 4: GOTO moved IF r = 5 THEN: r = 6: GOTO moved IF r = 9 THEN: r = 8: GOTO moved END IF IF cmd$ = "GO WEST" OR cmd$ = "WEST" OR cmd$ = "W" THEN IF r = 3 THEN: r = 2: GOTO moved IF r = 4 THEN: r = 5: GOTO moved IF r = 8 THEN: r = 7: GOTO moved IF r = 7 THEN: r = 6: GOTO moved END IF IF (cmd$ = "USE CROWBAR") THEN CLS PRINT "On what?" DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF IF (cmd$ = "EXAMINE MONSTER") AND r = 8 THEN CLS PRINT "It's a monster made of long green vines, it's head is a pumpkin, and" PRINT "it has an evil grin carved by the hand of Satan himself. To why this" PRINT "being exists is beyond you. But you know, what you must do." DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF IF (cmd$ = "EXAMINE CROWBAR") AND gotcrowbar = 1 THEN CLS PRINT "Once yellow in color and crafted decades ago, left in the elements" PRINT "and has a nice layer of rust upon it." DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF IF (cmd$ = "USE CROWBAR") AND gotcrowbar = 1 AND r = 8 THEN CLS GOTO win: DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF IF (cmd$ = "RUN HOME") THEN CLS GOTO lose: DO: LOOP UNTIL INKEY$ = "" DO: LOOP UNTIL INKEY$ <> "" END IF moved: RETURN r1: PRINT "The smell of death lingers through the mainstreet of the town." PRINT "The once peaceful town is now a graveyard." RETURN r2: PRINT "The silence brings an eerie feeling over you." RETURN r3: PRINT "The faint scream of a beast lingers through the dusk air. Whatever" PRINT "did this, you know it can smell you." RETURN r4: PRINT "No a soul in sight, not a being for miles away. This is a dead" PRINT "place and you are the soul residence." RETURN r5: PRINT "The dead silence of the street fills you with fear. Just why are" PRINT "you doing this? Why is this monster here? Who made it and for what" PRINT "reason? Ideas and thoughts raced through my head." RETURN r6: PRINT "You cross the silent street that was once the life line to all those" PRINT "who called this place home." RETURN r7: PRINT "A normal life...that's what I wanted...now every step I take either" PRINT "wil bring death or a chance for escape!" RETURN r8: PRINT "You stand is absolute fear and disgust. There...standing before you" PRINT "is the monster, the monster that brought death to this small town." RETURN r9: PRINT "A dead end, nothing but a brick wall, and garbage." RETURN win: COLOR 2, 0 CLS PRINT "You walk home and find that the ruins before you that were" PRINT "once the town you loved. Is now no more, you begin the travel" PRINT "to the next town over, and hopefully start over again." PRINT DO: LOOP UNTIL INKEY$ <> "" END lose: COLOR 2, 0 CLS PRINT "You turn your back for a moment only to find that it had sliced you" PRINT "in two. For a moment you feel no pain and the thought of having a" PRINT "Sunday dinner with the family warms your heart. Then it all fades to" PRINT "black." PRINT DO: LOOP UNTIL INKEY$ <> "" END FUNCTION GrabInput$ x = POS(0) y = CSRLIN maxwidth = _WIDTH - x PCOPY 0, 1 'make a backup copy of the screen DO k = _KEYHIT i$ = INKEY$ LOOP UNTIL k = 0 AND INKEY$ = "" 'clear the keyboard buffer DO _LIMIT 30 PCOPY 1, 0 LOCATE y, x: PRINT Userinput$ k = _KEYHIT SELECT CASE k CASE 8 Userinput$ = LEFT$(Userinput$, LEN(Userinput$) - 1) CASE 65 TO 90, 97 TO 122, 32 Userinput$ = UCASE$(Userinput$ + CHR$(k)) END SELECT timerleft## = (DOOM - TIMER(0.001)) minutes = timerleft## \ 60 seconds = timerleft## - minutes * 60 LOCATE 2, 32: PRINT USING " ###:##.###"; minutes, seconds IF timerleft## <= 0 THEN GOTO doomed _DISPLAY LOOP UNTIL k = 13 GrabInput$ = Userinput$ _AUTODISPLAY EXIT FUNCTION doomed: CLS PRINT "You remain in the ruins of the town. The creature has vanished and began" PRINT "it's trek to the next town. All is lost for humanity...or so you think!" _DISPLAY END END SUB